package com.hellobike.haxing.modules.wms.dto;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
public class PickTaskDto implements Serializable {

    /**id*/
    @TableId(type = IdType.AUTO)
    private Long id ;
    /**taskNo*/
    @Excel(name = "taskNo", width = 15)
    private String taskNo ;
    /**taskType*/
    @Excel(name = "taskType", width = 15)
    private String taskType ;
    /**taskStatus*/
    @Excel(name = "taskStatus", width = 15)
    private String taskStatus ;
    /**skuId*/
    @Excel(name = "skuId", width = 15)
    private Long skuId ;
    /**qty*/
    @Excel(name = "qty", width = 15)
    private BigDecimal qty ;
    /**unitId*/
    @Excel(name = "unitId", width = 15)
    private Long unitId ;
    /**unitName*/
    @Excel(name = "unitName", width = 15)
    private String unitName ;
    /**batchId*/
    @Excel(name = "batchId", width = 15)
    private Long batchId ;
    /**docOperId*/
    @Excel(name = "docOperId", width = 15)
    private Long docOperId ;
    /**docOperNo*/
    @Excel(name = "docOperNo", width = 15)
    private String docOperNo ;
    /**docId*/
    @Excel(name = "docId", width = 15)
    private Long docId ;
    /**docLineId*/
    @Excel(name = "docLineId", width = 15)
    private Long docLineId ;
    /**docNo*/
    @Excel(name = "docNo", width = 15)
    private String docNo ;
    /**docType*/
    @Excel(name = "docType", width = 15)
    private String docType ;
    /**fmLocId*/
    @Excel(name = "fmLocId", width = 15)
    private Long fmLocId ;
    /**planLocId*/
    @Excel(name = "planLocId", width = 15)
    private Long planLocId ;
    /**toLocId*/
    @Excel(name = "toLocId", width = 15)
    private Long toLocId ;
    /**warehouseId*/
    @Excel(name = "warehouseId", width = 15)
    private Long warehouseId ;
    /**reasonCode*/
    @Excel(name = "reasonCode", width = 15)
    private String reasonCode ;
    /**reasonDesc*/
    @Excel(name = "reasonDesc", width = 15)
    private String reasonDesc ;
    /**damaged*/
    @Excel(name = "damaged", width = 15)
    private Integer damaged ;
    /**fmStockId*/
    @Excel(name = "fmStockId", width = 15)
    private Long fmStockId ;
    /**toStockId*/
    @Excel(name = "toStockId", width = 15)
    private Long toStockId ;
    /**pickQty*/
    @Excel(name = "pickQty", width = 15)
    private BigDecimal pickQty ;
    /**createTime*/
    @Excel(name = "createTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime ;
    /**updateTime*/
    @Excel(name = "updateTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime ;
    /**createBy*/
    @Excel(name = "createBy", width = 15)
    private Integer createBy ;
    /**updateBy*/
    @Excel(name = "updateBy", width = 15)
    private Integer updateBy ;
    /**deleted*/
    @Excel(name = "deleted", width = 15)
    @TableLogic
    private Integer deleted ;

    private String boxCode;

    private String spuName;
    private String spuCode;
    private String skuCode;
    private String barCode;
    private JSONObject dimensionValues;

    private String fmLocCode;
}
